1. Field
The present invention relates generally to processing of multimedia data signals in a system and, more specifically, to management of streaming digital multimedia data signals.
2. Description
Digital multimedia data signals may be communicated over a network from a signal source to a client system for viewing and/or listening by a user at the client site. In one scenario, a user requests the retrieval of a sequence of audio and/or video data signals, called a stream, from the signal source, which may be a server system communicating with the client system over the network. When the audio and video data signals making up the stream are received at the client, these multimedia data signals are processed to produce output data for the user in the form of sounds produced by one or more loudspeakers and/or images displayed on a display.
The concept of streaming multimedia includes a multimedia source sending a multimedia stream to a multimedia recipient for real-time presentation to a user. That is, streaming can be viewed as a xe2x80x9cdisplay/playxe2x80x9d model as opposed to a more traditional xe2x80x9cdownload and display/playxe2x80x9d model, where the entire stream is collected by the recipient prior to presentation. Successful xe2x80x9cdisplay/playxe2x80x9d streaming is based on the premise that the multimedia preparation (e.g., compression) and the transmission mechanism can feed the recipient at a rate fast enough for the multimedia stream to be presented in real-time. When this occurs, streaming of data representing live events becomes possible. Streaming may involve buffering a small amount of the stream prior to presentation, but the amount of buffering is typically small compared to the length of the entire stream. The rationale for buffering is typically to smooth out the jitter inherent in network-based transmission mechanisms (e.g., packet-based transports, etc.).
One difference between xe2x80x9cstreaming multimediaxe2x80x9d and multimedia that has been downloaded (in part or in its entirety) prior to presentation is that streaming multimedia quality (for example, video clarity and frame-rate) may be determined, at least in part, by the bandwidth of the transmission mechanism. For downloaded multimedia, the quality of the presentation is typically unaltered from what it had been authored as; only the download times are affected by the bandwidth of the transmission channel. A second difference between the two models is that the download model does not work for xe2x80x9clivexe2x80x9d content. In a display/play model of a digital multimedia streaming system, the size of the displayed images and the overall quality of the audio and video presented to the user are limited at least in part by the bandwidth of the communications path between the signal source and the client. In some systems, a sufficient amount of audio and video data signals is received to display full-motion video and concurrent audio to the user in a real-time (or streaming) mode, although the size and quality of the displayed image may be inadequate or undesirable for some uses. If the bandwidth of the communications path could be expanded, then a larger image, a clearer image, or a smoother set of images could be presented to the user. However, in many systems, the communications path between the signal source and the client is a fixed, relatively low bandwidth communication channel having at least one bottleneck. For example, when the network is the Internet and the client is a computer system employing a modem with a purported maximum bandwidth of 56K bytes per second (bps), the modem may serve as an impediment to providing a clearer or larger display of the video images.
This limitation of a fixed bandwidth communications path for streaming digital multimedia data is one problem for a system wherein additional features, such as xe2x80x9cinstant replayxe2x80x9d, for example, are desired. For analog video, a recall or xe2x80x9cinstant replayxe2x80x9d feature is typically provided by rapidly rewinding and replaying a magnetic video tape storing the audio and video data. However, for digital multimedia data streaming across a network to a client system, retransmission and replay of selected data signals may be constrained by a variety of limitations of the communications path, such as the server system acting as a signal source, or the client system. Further complications may arise if the multimedia data represents a live event being filmed and transmitted over the network in real-time. Storage of the received digital multimedia data for replay purposes in a buffer or cache at the client system may be impractical because of the large size of the video data. Even if some caching of the received data is performed at the client system, the quality of the replayed video may be impaired because of the limited amount of video data that may be stored for replay purposes.
Hence, a method of providing a high quality replay on demand feature for streaming digital multimedia data would be a valuable addition to the art.
An embodiment of the present invention is a method of replaying on demand of a multimedia segment received in a digital multimedia stream representing the multimedia segment on a limited bandwidth communications path. The method includes storing at least a portion of a first layer of the digital multimedia stream in a memory and receiving a second layer of the digital multimedia stream corresponding to the stored portion of the first layer over the limited bandwidth communications path. The method further includes reading the stored portion of the first layer from the memory, decoding the stored portion of the first layer and the received second layer, and displaying the decoded first and second layers to the user.
Another embodiment of the present invention is an apparatus for providing replay on demand of a multimedia segment having digital multimedia data signals. The apparatus includes a decoder to receive and decode a base layer of a stream representing the multimedia segment and to receive and decode an enhancement layer of the stream, the enhancement layer corresponding to the base layer. The decoder may be coupled to a memory for storing the base layer, and to a graphical user interface, for displaying the decoded base layer of the stream as an original display of the multimedia segment at a first quality level, for receiving a request for replay of the multimedia segment, and for displaying the decoded base layer and the decoded enhancement layer of the multimedia segment at a second quality level in response to the request.